/*
 * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
 * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
 */

package org.jetbrains.kotlin.js.test.ir;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.jetbrains.kotlin.test.TargetBackend;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;

import java.io.File;
import java.util.regex.Pattern;

/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateJsTestsKt}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@TestMetadata("compiler/testData/klib/syntheticAccessors")
@TestDataPath("$PROJECT_ROOT")
public class ClassicJsKlibSyntheticAccessorTestGenerated extends AbstractClassicJsKlibSyntheticAccessorTest {
  @Test
  public void testAllFilesPresentInSyntheticAccessors() {
    KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/klib/syntheticAccessors"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
  }

  @Nested
  @TestMetadata("compiler/testData/klib/syntheticAccessors/privateMember")
  @TestDataPath("$PROJECT_ROOT")
  public class PrivateMember {
    @Test
    public void testAllFilesPresentInPrivateMember() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/klib/syntheticAccessors/privateMember"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
    }

    @Nested
    @TestMetadata("compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak")
    @TestDataPath("$PROJECT_ROOT")
    public class CrossFilePrivateLeak {
      @Test
      public void testAllFilesPresentInCrossFilePrivateLeak() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
      }

      @Test
      @TestMetadata("leakingPrivateMethod.kt")
      public void testLeakingPrivateMethod() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateMethod.kt");
      }

      @Test
      @TestMetadata("leakingPrivateMethodThroughPrivateInlineChain.kt")
      public void testLeakingPrivateMethodThroughPrivateInlineChain() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateMethodThroughPrivateInlineChain.kt");
      }

      @Test
      @TestMetadata("leakingPrivateVarThroughInlineFun.kt")
      public void testLeakingPrivateVarThroughInlineFun() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateVarThroughInlineFun.kt");
      }

      @Test
      @TestMetadata("leakingPrivateVarThroughInlineVar.kt")
      public void testLeakingPrivateVarThroughInlineVar() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateVarThroughInlineVar.kt");
      }

      @Test
      @TestMetadata("leakingPrivateVarThroughPrivateInlineFunChain.kt")
      public void testLeakingPrivateVarThroughPrivateInlineFunChain() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateVarThroughPrivateInlineFunChain.kt");
      }

      @Test
      @TestMetadata("leakingPrivateVarThroughPrivateInlineVarChain.kt")
      public void testLeakingPrivateVarThroughPrivateInlineVarChain() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateVarThroughPrivateInlineVarChain.kt");
      }
    }

    @Nested
    @TestMetadata("compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak")
    @TestDataPath("$PROJECT_ROOT")
    public class CrossModulePrivateLeak {
      @Test
      public void testAllFilesPresentInCrossModulePrivateLeak() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
      }

      @Test
      @TestMetadata("leakingPrivateMethod.kt")
      public void testLeakingPrivateMethod() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateMethod.kt");
      }

      @Test
      @TestMetadata("leakingPrivateMethodThroughPrivateInlineChain.kt")
      public void testLeakingPrivateMethodThroughPrivateInlineChain() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateMethodThroughPrivateInlineChain.kt");
      }

      @Test
      @TestMetadata("leakingPrivateVarThroughInlineFun.kt")
      public void testLeakingPrivateVarThroughInlineFun() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateVarThroughInlineFun.kt");
      }

      @Test
      @TestMetadata("leakingPrivateVarThroughInlineVar.kt")
      public void testLeakingPrivateVarThroughInlineVar() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateVarThroughInlineVar.kt");
      }

      @Test
      @TestMetadata("leakingPrivateVarThroughPrivateInlineFunChain.kt")
      public void testLeakingPrivateVarThroughPrivateInlineFunChain() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateVarThroughPrivateInlineFunChain.kt");
      }

      @Test
      @TestMetadata("leakingPrivateVarThroughPrivateInlineVarChain.kt")
      public void testLeakingPrivateVarThroughPrivateInlineVarChain() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateVarThroughPrivateInlineVarChain.kt");
      }
    }

    @Nested
    @TestMetadata("compiler/testData/klib/syntheticAccessors/privateMember/singleFile")
    @TestDataPath("$PROJECT_ROOT")
    public class SingleFile {
      @Test
      public void testAllFilesPresentInSingleFile() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/klib/syntheticAccessors/privateMember/singleFile"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
      }

      @Test
      @TestMetadata("usePrivateMethodFromInternalInline.kt")
      public void testUsePrivateMethodFromInternalInline() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/singleFile/usePrivateMethodFromInternalInline.kt");
      }

      @Test
      @TestMetadata("usePrivateVarFromInternalInlineFun.kt")
      public void testUsePrivateVarFromInternalInlineFun() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/singleFile/usePrivateVarFromInternalInlineFun.kt");
      }

      @Test
      @TestMetadata("usePrivateVarFromInternalInlineVar.kt")
      public void testUsePrivateVarFromInternalInlineVar() {
        runTest("compiler/testData/klib/syntheticAccessors/privateMember/singleFile/usePrivateVarFromInternalInlineVar.kt");
      }
    }
  }

  @Nested
  @TestMetadata("compiler/testData/klib/syntheticAccessors/topLevelPrivate")
  @TestDataPath("$PROJECT_ROOT")
  public class TopLevelPrivate {
    @Test
    public void testAllFilesPresentInTopLevelPrivate() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/klib/syntheticAccessors/topLevelPrivate"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
    }

    @Nested
    @TestMetadata("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak")
    @TestDataPath("$PROJECT_ROOT")
    public class CrossFilePrivateLeak {
      @Test
      public void testAllFilesPresentInCrossFilePrivateLeak() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
      }

      @Test
      @TestMetadata("leakingPrivateTopLevelFun.kt")
      public void testLeakingPrivateTopLevelFun() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFun.kt");
      }

      @Test
      @TestMetadata("leakingPrivateTopLevelFunThroughPrivateInlineFunChain.kt")
      public void testLeakingPrivateTopLevelFunThroughPrivateInlineFunChain() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFunThroughPrivateInlineFunChain.kt");
      }

      @Test
      @TestMetadata("leakingPrivateTopLevelVarThroughInlineFun.kt")
      public void testLeakingPrivateTopLevelVarThroughInlineFun() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineFun.kt");
      }

      @Test
      @TestMetadata("leakingPrivateTopLevelVarThroughInlineVar.kt")
      public void testLeakingPrivateTopLevelVarThroughInlineVar() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineVar.kt");
      }

      @Test
      @TestMetadata("leakingTopLevelPrivateVarThroughPrivateInlineFunChain.kt")
      public void testLeakingTopLevelPrivateVarThroughPrivateInlineFunChain() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineFunChain.kt");
      }

      @Test
      @TestMetadata("leakingTopLevelPrivateVarThroughPrivateInlineVarChain.kt")
      public void testLeakingTopLevelPrivateVarThroughPrivateInlineVarChain() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineVarChain.kt");
      }

      @Test
      @TestMetadata("potentiallyClashingFunAccessors.kt")
      public void testPotentiallyClashingFunAccessors() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingFunAccessors.kt");
      }

      @Test
      @TestMetadata("potentiallyClashingVarAccessors.kt")
      public void testPotentiallyClashingVarAccessors() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingVarAccessors.kt");
      }
    }

    @Nested
    @TestMetadata("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak")
    @TestDataPath("$PROJECT_ROOT")
    public class CrossModulePrivateLeak {
      @Test
      public void testAllFilesPresentInCrossModulePrivateLeak() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
      }

      @Test
      @TestMetadata("leakingPrivateTopLevelFun.kt")
      public void testLeakingPrivateTopLevelFun() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFun.kt");
      }

      @Test
      @TestMetadata("leakingPrivateTopLevelFunThroughPrivateInlineFunChain.kt")
      public void testLeakingPrivateTopLevelFunThroughPrivateInlineFunChain() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFunThroughPrivateInlineFunChain.kt");
      }

      @Test
      @TestMetadata("leakingPrivateTopLevelVarThroughInlineFun.kt")
      public void testLeakingPrivateTopLevelVarThroughInlineFun() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineFun.kt");
      }

      @Test
      @TestMetadata("leakingPrivateTopLevelVarThroughInlineVar.kt")
      public void testLeakingPrivateTopLevelVarThroughInlineVar() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineVar.kt");
      }

      @Test
      @TestMetadata("leakingTopLevelPrivateVarThroughPrivateInlineFunChain.kt")
      public void testLeakingTopLevelPrivateVarThroughPrivateInlineFunChain() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineFunChain.kt");
      }

      @Test
      @TestMetadata("leakingTopLevelPrivateVarThroughPrivateInlineVarChain.kt")
      public void testLeakingTopLevelPrivateVarThroughPrivateInlineVarChain() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineVarChain.kt");
      }

      @Test
      @TestMetadata("potentiallyClashingFunAccessors.kt")
      public void testPotentiallyClashingFunAccessors() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingFunAccessors.kt");
      }

      @Test
      @TestMetadata("potentiallyClashingVarAccessors.kt")
      public void testPotentiallyClashingVarAccessors() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingVarAccessors.kt");
      }
    }

    @Nested
    @TestMetadata("compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile")
    @TestDataPath("$PROJECT_ROOT")
    public class SingleFile {
      @Test
      public void testAllFilesPresentInSingleFile() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
      }

      @Test
      @TestMetadata("usePrivateTopLevelFunFromInternalInline.kt")
      public void testUsePrivateTopLevelFunFromInternalInline() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelFunFromInternalInline.kt");
      }

      @Test
      @TestMetadata("usePrivateTopLevelVarFromInternalInlineFun.kt")
      public void testUsePrivateTopLevelVarFromInternalInlineFun() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelVarFromInternalInlineFun.kt");
      }

      @Test
      @TestMetadata("usePrivateTopLevelVarFromInternalInlineVar.kt")
      public void testUsePrivateTopLevelVarFromInternalInlineVar() {
        runTest("compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelVarFromInternalInlineVar.kt");
      }
    }
  }
}
